/**
 *
 */
package com.iapcursos.portal.procefet.modelo.beans.sessions;

import java.util.List;

import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;

import com.iapcursos.portal.procefet.modelo.beans.entitys.Horario;
import com.iapcursos.portal.procefet.modelo.beans.entitys.Turma;
import com.iapcursos.portal.procefet.modelo.beans.entitys.Unidade;
import com.iapcursos.portal.procefet.modelo.beans.sessions.interfaces.GerenciadorHorarios;

/**
 * @author Gleison
 *
 */
@Stateless(mappedName="gerenciadorHorarios")
public class GerenciadorHorariosBean implements GerenciadorHorarios {
	@PersistenceContext(unitName="iap")
	private EntityManager entityManager;
	/**
	 *
	 */
	public GerenciadorHorariosBean() {

	}


	@SuppressWarnings("unchecked")
	@Override
	public List<Unidade> recuperarUnidades() {
		Query consulta =  entityManager.createQuery("SELECT u FROM Unidade u");
		List<Unidade> unidades = (List<Unidade>) consulta.getResultList();
		return unidades;
	}


	@Override
	public void persistirUnidade(Unidade unidade) {
		entityManager.persist(unidade);
	}


	@Override
	public Turma recuperarTurma(int id) {
		Turma turma = new Turma();
		turma = entityManager.find(Turma.class, id);
		return turma;
	}


	@Override
	public void atualizarHorarios(List<Horario> horarios) {
		for (Horario horario : horarios) {
			entityManager.merge(horario);
		}
	}

	@Override
	public Horario recuperarHorario(int id) {
		return entityManager.find(Horario.class, id);
	}

}
